class SeqList(object):
	#初始化线性表，默认线性表为10个元素（max）
	#num为线性表的元素个数计数器
	#date为线性表数据
    def __init__(self,max=10):  
        self.max = max 
        self.num = 0  
        self.date = [None] * self.max
     #判断线性表是否为空
    def is_empty(self):
     	return self.num is 0
     #判断线性表是否全满
    def is_full(self):     #判定线性表是否全满  
        if self.num is self:
        	print("the list is full")
        	return 0
        elif self.num < self.max:
            print("the list have a rest of space")
            return self.num
    #通过索引获取元素
    def getDate(self,i):
        if not isinstance(i,int): #如果不为int型，主动引发类型异常TypeError
            raise TypeError
        if i >=0 and i < self.num:     #如果查询的的索引比列表实际数据长度大，主动引发IndexError
        	return self.date[i]
        else:
            raise IndexError
    #按值查找元素的位置
    def getIndex(self,value):
    	for j in range(self.num):
    		if self.date[j] == value:
    			return j
    	if j == self.num:
    		return -1
    #插入元素
    def insertDate(self,i,value):
    	if not isinstance(i,int):
    		raise TypeError
    	if self.is_full():
    		print("the list is full")
    		raise ValueError
    	if i<0 and i>self.num:
        	raise IndexError
    	for j in range(self.num,i,-1):
        	self.date[j] = self.date[j-1]
    	self.date[i] = value
    	self.num += 1
    #删除元素
    def deleteDate(self,i):
    	if not isinstance(i,int):
    		raise TypeError
    	if i<0 and i>self.num:
        	raise IndexError
    	if i == self.num:
    		self.date[i] == None
    	else:
    		for j in range(i,self.num-1,1):
        		self.date[i]=self.date[i+1]
    	self.num -= 1

      #输出操作  
    def printList(self):  
        for i in range(0,self.num):  
            print(self.date[i]) 
  
    #销毁操作  
    def destroy(self):  
        self.__init__() 